package com.lanou3g.hw0412;

/**
 * Created by dllo on 18/4/12.
 */
public class OPPower extends Operator {
    /*
    如何求幂:
    1.num2 == 0=>结果固定是1
    2.num2!=0=> 结果是num1*(num1的num2-1次幂)
     */
    // 递归(非常简单的了解一下即可)
    // 在一个方法 中 调用自己 就叫做递归
    // 递归的好处:当我们把条件想清楚了 之后
    // 不需要额外的编程思想,直接 翻译成 代码
    // 所有的递归 ,都可以用迭代(循环)来实现
    // 并且普通 递归 效率低下
    @Override
    public Integer compute(int num1, int num2) {
        //return Math.pow(num1,num2); 系统自带
        if (num2 == 0) {
            //任何数的0次幂都是1
            return 1;
        } else {
            return num1 * compute(num1, num2 - 1);
        }


    }
}